package net.qhzw.vip.qiyu.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 维修报案
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "repair_maint_rpt")
public class MaintRpt implements Serializable {
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    /**
     * 报案人id
     */
    @TableField(value = "user_id")
    private Long userId;

    @ApiModelProperty(value = "姓名", required = true)
    @TableField(value = "real_name")
    private String realName;

    @ApiModelProperty(value = "联系电话", required = true)
    @TableField(value = "mobile")
    private String mobile;

    /**
     * 报案位置
     */
    @TableField(value = "address")
    private String address;

    /**
     * 精度
     */
    @TableField(value = "longitude")
    private Double longitude;

    /**
     * 维度
     */
    @TableField(value = "latitude")
    private Double latitude;

    /**
     * 距离
     */
    @TableField(exist = false)
    private Double distance;

    /**
     * 故障描述
     */
    @TableField(value = "remarks")
    private String remarks;

    /**
     * 报修时间
     */
    @TableField(value = "created")
    private Date created;

    /**
     * 状态
     *  1:新申请
     *  2:已分配待接单
     *  3:接单
     *  4:到达报修点
     *  5:维修完成
     *  6:用户评价
     *  7:系统超时取消
     *  8:后台参数异常取消
     *  9:用户取消
     */
    @TableField(value = "status")
    private Byte status;

    /**
     * 维修人
     */
    @TableField(value = "repair_user_id")
    private Long repairUserId;

    /**
     * 派单时间
     */
    @TableField(value = "dispatch_time")
    private Date dispatchTime;

    /**
     * 接单时间
     */
    @TableField(value = "order_taking_time")
    private Date orderTakingTime;

    /**
     * 到达时间
     */
    @TableField(value = "arrive_time")
    private Date arriveTime;

    /**
     * 维修完成时间
     */
    @TableField(value = "maint_time")
    private Date maintTime;

    /**
     * 服务评价
     */
    @TableField(value = "service_comment")
    private Byte serviceComment;

    /**
     * 技术评价
     */
    @TableField(value = "technical_evaluation")
    private Byte technicalEvaluation;

    /**
     * 速度评价
     */
    @TableField(value = "speed_evaluation")
    private Byte speedEvaluation;

    /**
     * 评价描述
     */
    @TableField(value = "evaluation_descr")
    private String evaluationDescr;

    private static final long serialVersionUID = 1L;
}